package com.lhz.project.system.service.base;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lhz.project.system.model.entity.base.FileUpload;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface FileUploadService extends IService<FileUpload> {

    /**
     * @param file 文件
     * @return
     */
    Object uploadFile(String dataId, List<MultipartFile> file);

    /**
     * 删除已上传文件
     *
     * @return
     */
    void deleteUploadFile(String fileId);

    void deleteUploadFileByData(String dataId);

    /**
     * 获取业务文件列表
     *
     * @param dataId
     * @return
     */
    Object getFileListByData(String dataId);

    /**
     * 下载文件(文件流)
     *
     * @return
     */
    void downloadFileStream(String fileId);

    /**
     * 批量下载文件(zip流)
     *
     * @return
     */
    void downloadFileByDataStream(String dataId);

    /**
     * 下载文件(文件地址)
     *
     * @return
     */
    Object downloadFile(String fileId);

    /**
     * 批量下载文件(文件地址)
     *
     * @return
     */
    Object downloadFileByData(String dataId);

}
